package com.ruoyi.mapper;

import com.ruoyi.product.domain.ProductSku;
import com.ruoyi.product.domain.VerActivitySkuRelate;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

@Mapper
public interface ActivitySkuRelateMapper {
    /**
     * 删除活动子表
     */
    boolean deleteVerActivitySkuRelateById(Long activityId);

    /**
     * 新增活动商品关联
     * @param relate 关联信息
     * @return 影响行数
     */
    int insert(VerActivitySkuRelate relate);

    /**
     * 更新活动商品价格
     * @param activityId 活动ID
     * @param skuId 商品SKU ID
     * @param price 活动价格
     * @return 影响行数
     */
    int updatePrice(@Param("activityId") Long activityId, @Param("skuId") Long skuId, @Param("price") BigDecimal price);

    /**
     * 逻辑删除活动商品关联
     * @param activityId 活动ID
     * @param skuId 商品SKU ID
     * @return 影响行数
     */
    int delete(@Param("activityId") Long activityId, @Param("skuId") Long skuId);

    /**
     * 根据活动ID查询关联的商品
     * @param activityId 活动ID
     * @return 关联列表
     */
    List<VerActivitySkuRelate> selectByActivityId(@Param("activityId") Long activityId);

    /**
     * 根据活动ID和SKU ID查询关联信息
     * @param activityId 活动ID
     * @param skuId SKU ID
     * @return 关联信息
     */
    VerActivitySkuRelate selectByActivityAndSku(@Param("activityId") Long activityId, @Param("skuId") Long skuId);
}
